<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title></title>

    <style type="text/css">
        html, body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }

        #map {
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>

    <div id="map"></div>
    <canvas id="canvas"></canvas>

    <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=1XjLLEhZhQNUzd93EjU5nOGQ"></script>
    <script type="text/javascript" src="../build/mapv.js"></script>

    <script type="text/javascript">

        // 百度地图API功能
        var map = new BMap.Map("map", {
            enableMapClick: false
        });    // 创建Map实例
        map.centerAndZoom(new BMap.Point(105.403119, 38.028658), 5);  // 初始化地图,设置中心点坐标和地图级别
        map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放

        map.setMapStyle({
            style: 'midnight'
        });

        var randomCount = 300;

        var data = [];

        var citys = ["北京","天津","上海","重庆","石家庄","太原","呼和浩特","哈尔滨","长春","沈阳","济南","南京","合肥","杭州","南昌","福州","郑州","武汉","长沙","广州","南宁","西安","银川","兰州","西宁","乌鲁木齐","成都","贵阳","昆明","拉萨","海口"];

        // 构造数据
        while (randomCount--) {
            var cityCenter = mapv.utilCityCenter.getCenterByCityName(citys[parseInt(Math.random() * citys.length)]);
            data.push({
                lng: cityCenter.lng - 2 + Math.random() * 4,
                lat: cityCenter.lat - 2 + Math.random() * 4,
                count: 30 * Math.random()
            });
        }

        var canvasLayer = new mapv.baiduMapCanvasLayer({
            map: map,
            update: update
        });

        function update() {

            var ctx = this.canvas.getContext("2d");
            mapv.canvasClear(ctx);

            for (var i = 0; i < data.length; i++) {
                var pixel = map.pointToPixel(new BMap.Point(data[i].lng, data[i].lat));
                data[i].x = pixel.x;
                data[i].y = pixel.y;
            }

            var options = {
                fillStyle: 'rgba(255, 50, 50, 0.5)',
                max: 30,
                radius: 13,
                draw: 'bubble'
            }

            mapv.canvasPoint.draw(ctx, data, options);

        }

    </script>
	
</body>
</html>
